package com.biancheng.biancheng.biancheng2;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

public class 皇帝的奏章2 {

        public static void main(String[] args){
            Scanner sc = new Scanner(System.in);
            //输入p
            int p = sc.nextInt();
            //题目要求限制p值大小
            if(p>5000||p<1){
                return;
            }
            //输入q
            int q = sc.nextInt();
            //表示所有按呈递顺序递上来的奏章来自于哪个大臣（大臣编号）
            List<Integer> list = new ArrayList<>();
            for(int i = 0;i<p;i++){
                list.add(sc.nextInt());
            }
            //表示皇帝钦点并排好序的重臣编号
            List<Integer> list1 = new ArrayList<>();

            for(int i = 0;i<q;i++){
                list1.add(sc.nextInt());
            }
            //表示根据根据钦点大臣排序
            List<Integer> list2 = new ArrayList<>();
            //表示未钦点大臣排序
            List<Integer> list3 = new ArrayList<>();
            //克隆原始大臣排序
            list3.addAll(list);
            //1.遍历原始排序，如果原始排序中存在钦点大臣，添加进list2，并且将list3中元素移除
            //2.list2代表钦点大臣排好的顺序，list3代表未被钦点的大臣们
            for(int i=0;i<list1.size();i++){
                for(int j=0;j<list.size();j++){
                    if(list.get(j).equals(list1.get(i))){
                        list2.add(list.get(j));
                        list3.remove(list.get(j));
                    }
                }
            }
            //根据题目要求给未钦点的大臣们升序排序
            Collections.sort(list3);
            //添加进钦点好大臣的数组
            list2.addAll(list3);
            //格式控制输出
            for(int i=0;i<list2.size();i++){
                if(i<list2.size()-1){
                    System.out.print(list2.get(i)+" ");
                }else {
                    System.out.print(list2.get(i));
                }
            }

    }

}

